Hand coding
In computing, hand coding means editing the underlying representation of a document or a computer program, when tools that allow working on more sophisticated representation also exist. Typically this means editing the source code, or the textual representation of a document or a program, instead of using a WYSIWYG editor that always displays an approximation of the final product. It may also mean translating the whole or parts of the source code into machine language manually instead of using a compiler or an automatic translator.
The reasons to use hand coding include the ability to:
- Use features or refinements not supported by the graphical editor or compiler
- Control the semantics of a document beyond that allowed by the graphical editor
- Produce more elegant source code to help maintenance and integration
- Produce better performing machine code than that produced by the compiler (see optimization)
- Avoid having to pay for expensive WYSIWYG Editors. Note that there are some open-source editors available on the web, however.
- Develop an understanding of the methods underlying a common level of abstraction. For example, although it has become rare in real-life scenarios, computer science students may be required to write a program in an assembly language to get a notion of processor registers and other basal elements of computer architecture.
- Escape abstractions and templated code. Hand coding allows more refined control of code, which may improve efficiency, or add functionality that is otherwise unavailable.
Hand coding may require more expertise and time than using automatic tools.
See also